package com.fulihui.wgj.facade.service.event;

import com.fulihui.common.result.rpc.BaseResult;
import com.fulihui.wgj.facade.request.event.AuthCallBackRequest;
import com.fulihui.wgj.facade.request.event.AuthNotifyRequest;
import com.fulihui.wgj.facade.request.event.EventNotifyRequest;
import com.fulihui.wgj.facade.request.event.GetPreAuthUrlRequest;
import com.fulihui.wgj.facade.result.event.GetPreAuthUrlResult;
import com.fulihui.wgj.facade.result.system.WxSystemConfigResult;

/**
 * 微信第三方平台操作API
 *
 * @author wang_wx
 * @date 2018-06-20
 */
public interface WxEventNotifyService {

    /**
     * 授权事件回调请求
     *
     * @param request
     * @return
     */
    BaseResult authNotify(AuthNotifyRequest request);

    /**
     * 消息事件请求
     *
     * @param request
     * @return
     */
    BaseResult eventNotify(EventNotifyRequest request);

    /**
     * 获取公众号预授权码
     *
     * @param request
     * @return
     */
    GetPreAuthUrlResult getPreAuthUrl(GetPreAuthUrlRequest request);

    /**
     * 公众号授权后回调url
     *
     * @param request
     * @return
     */
    BaseResult authCallBack(AuthCallBackRequest request);

    /**
     * 查询微信第三方平台系统设置(凭证)
     *
     * @return
     */
    WxSystemConfigResult getComponentToken();
}
